Download and Configure the Palette Config

  1. Download the domain binaries as mentioned in the Pre-Requisites section of this document.

    Note: PaletteWebApplication.properties file is already placed inside the "externallibs/palette_shared/conf" folder and the "download.dir" path is updated based on the container structure.

  2. To define the following environment variables at docker run time using the -e option in the command line or define them in the palette_env.dat file.

The environment configuration variables, that need to be set for the TomEE server, and application configuration are defined below:

Environment Configuration Variables

Configuration Parameters

Variable

Palette Application Port

PALETTE_PORT

Server Port

SERVER_PORT

Application Redirect Port

REDIRECT_PORT

Database Jar Used

DBJar

DataSource Configuration URL

JDBCURL

Database Username

DSUSERNAME

Database Password

DSPASSWORD

External Library Path

EXT_LIB_PATH

ATP Compatibility

ATP_COMPLIANT

 

Note: Refer to the palette_env.dat file for more information regarding these variables.

  1. PALETTE_PORT: Mention the PALETTE Application port

    Example: PALETTE_PORT=7003

  2. SERVER_PORT: Mention the Server Port

    Example: SERVER_PORT=8001

  3. REDIRECT_PORT: Mention the Application Redirect Port

    Example: REDIRECT_PORT=7441

  4. DBJar: Based on the Database used for the application, mention the relevant jar

    Example:

    Oracle: DBJar=ojdbc.jar

    DB2: DBJar=db2jcc4.jar

    MSSQL: DBJar=mssql-jdbc.jar

  5. JDBCURL: Mention the DataSource Configuration URL based on the database selected.

    ORACLE: JDBCURL=jdbc:oracle:thin:@<host>:<port>:<sid>

    DB2: JDBCURL=jdbc:db2://<host>:<port>/<databasename>:currentSchema=<schemaname>;

    if the schema name and username are different, please append currentfunctionpath to above url.

    Example:

    jdbcDriver = com.ibm.db2.jcc.DB2Driver jdbcUrl = jdbc:db2://<host>:<port>/<databasename>:currentSchema= <schemaname>;currentFunctionPath=SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,SYSHADOOP,USERNAME,SCHEMANAME;

    MSSQL: JDBCURL=jdbc:sqlserver://<host>:<port>;DatabaseName=<databasename>

    Example: For SQL Server

    When the encrypt property is set to true and the trustServerCertificate property is set to true, the Microsoft JDBC Driver for SQL Server won't validate the SQL Server TLS certificate. This setting is common for allowing connections in test environments, such as where the SQL Server instance has only a self-signed certificate.

    jdbcUrl = jdbc:sqlserver://<host>:<port>;DatabaseName=<databasename>;encrypt=true;trustServerCertificate=true
  6. DSUSERNAME: Mention the username for the Data Source

  7. DSPASSWORD: Mention the password for the Data Source.

  8. EXT_LIB_PATH - Define the Package Location inside the container (it is configured based on the base image used. No need to change the value of it)

    Example: EXT_LIB_PATH=/usr/local/tomee/externallibs

  9. ATP_COMPLIANT: This variable denotes whether the application is in compliance with ATP or not. Choose the appropriate option before provisioning the environment.

    Example: ATP_COMPLIANT=Yes

    If the PALETTE application is ATP compliant, then copy the required ATP (Autonomous Transaction Processing) database files under the externallibs/palette_shared/atp directory.

    The following parameters need to be updated in the palette_env.dat file and the below jars need to be downloaded and copied to ojdbc folder.

    Dependent JARs for ATP

    Add the following dependent JARs for ATP, following JDBC JAR files (JDBC Release 18.3 and above): are required to have a successful database connection: The jars must be placed under /usr/local/tomee/externallibs/palette_shared/atp/ojdbc directory

    Note: Download the JAR files here

    JAR Required Description
    ojdbc.jar  Required

    JDBC Thin Driver, follow OIPA installation documentation for supported JDBC driver version.

    ons.jar Optional

    Only needed in case FAN (Fast Application Notification) is configured for Oracle RAC cluster.

    oraclepki.jar Required

    Oracle PKI (public key infrastructure) provider for Oracle Wallets.

    osdt_cert.jar Required

    Oracle Security Developer Tool Certificates.

    osdt_core.jar Required

    Oracle Security Developer Tool Core.

    ucp.jar Required

    Universal Connection Pool.

    orai18n.jar Required Globalization and character set support
    xdb6.jar Required Handling XML data types with Oracle databases.
Autonomous Transaction Processing Database (ATP) Variables

ATP Configuration Parameters

Variables

Wallet Location

WALLET

TNS DB name

WALLETDB

ATP Wallet Username

WALLETUSERNAME

ATP Wallet Password

WALLETPASSWORD

ATP Proxy

ATP_PROXY

ATP Proxy Port

ATP_PROXY_PORT

  • WALLET: Update the WALLET directory location ( which is preconfigured based on the container structure)

    Eaxmple: WALLET=/usr/local/tomee/externallibs/palette_shared/atp/wallet/

  • WALLETDB: Open tnsnames.ora file (present in the wallet) and note the TNS name that is suffixed with _tp for transaction processing.

    Eaxmple: WALLETDB=oipadb_tp

  • WALLETUSERNAME: Mention the username for the ATP connection

  • WALLETPASSWORD: Mention the password for the ATP connection

  • ATP_PROXY: The ATP instance is on Public IP, if connecting over VPN, then you need to use an HTTP: PROXY

    Eaxmple: ATP_PROXY=www-proxy-hqdc.us.oracle.com

  • ATP_PROXY_PORT:- Mention the HTTP: PROXY PORT

    Eaxmple: ATP_PROXY_PORT=80

The sample folder structure is as follows:

Under ojdbc folder copy all the libs downloaded

OIPA Docker TomEE Odjbc folder

Under wallet folder

OIPA Docker TomEE Wallet folder

Note: As part of ATP connection,
1. We need to add few jars to skip and should be added to catlina.properties
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=
orai18n-*.jar,\
gdk_custom.jar

2. New Properties in catlina.properties
javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
javax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl